home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 June / SGI Freeware 1998 June.iso / dist / fw_unzip.idb / usr / freeware / catman / u_man / cat1 / unzipsfx.Z / unzipsfx
Text File  |  1998-05-21  |  17KB  |  397 lines

  1.  
  2.  
  3.  
  4.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       unzipsfx - self-extracting stub for prepending to ZIP
  10.       archives
  11.  
  12.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.       <<<<nnnnaaaammmmeeee    ooooffff uuuunnnnzzzziiiippppssssffffxxxx++++aaaarrrrcccchhhhiiiivvvveeee ccccoooommmmbbbboooo>>>> [----ccccffffppppttttuuuuzzzz[aaaajjjjnnnnooooqqqqssssCCCCLLLLVVVV$$$$]]
  14.       [_f_i_l_e(_s) ... [----xxxx _x_f_i_l_e(_s) ...]]
  15.  
  16.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  17.       _u_n_z_i_p_s_f_x is a    modified version of _u_n_z_i_p(1L) designed to be
  18.       prepended to existing    ZIP archives in    order to form self-
  19.       extracting archives.    Instead    of taking its first non-flag
  20.       argument to be the zipfile(s)    to be extracted, _u_n_z_i_p_s_f_x
  21.       seeks    itself under the name by which it was invoked and
  22.       tests    or extracts the    contents of the    appended archive.
  23.       Because the executable stub adds bulk    to the archive (the
  24.       whole    purpose    of which is to be as small as possible), a
  25.       number of the    less-vital capabilities    in regular _u_n_z_i_p have
  26.       been removed.     Among these are the usage (or help) screen,
  27.       the listing and diagnostic functions (----llll and ----vvvv), the
  28.       ability to decompress    older compression formats (the
  29.       ``reduce,'' ``shrink'' and ``implode'' methods), and the
  30.       ability to extract to    a directory other than the current
  31.       one.    Decryption is supported    as a compile-time option but
  32.       should be avoided unless the attached    archive    contains
  33.       encrypted files.
  34.  
  35.       NNNNooootttteeee tttthhhhaaaatttt sssseeeellllffff----eeeexxxxttttrrrraaaaccccttttiiiinnnngggg aaaarrrrcccchhhhiiiivvvveeeessss mmmmaaaaddddeeee wwwwiiiitttthhhh _u_n_z_i_p_s_f_x    aaaarrrreeee nnnnoooo
  36.       mmmmoooorrrreeee ((((oooorrrr lllleeeessssssss)))) ppppoooorrrrttttaaaabbbblllleeee aaaaccccrrrroooossssssss ddddiiiiffffffffeeeerrrreeeennnntttt ooooppppeeeerrrraaaattttiiiinnnngggg ssssyyyysssstttteeeemmmmssss
  37.       tttthhhhaaaannnn iiiissss tttthhhheeee _u_n_z_i_p eeeexxxxeeeeccccuuuuttttaaaabbbblllleeee iiiittttsssseeeellllffff....    In general a self-
  38.       extracting archive made on a particular Unix system, for
  39.       example, will    only self-extract under    the same flavor    of
  40.       Unix.     Regular _u_n_z_i_p may still be used to extract the
  41.       embedded archive as with any normal zipfile, although    it
  42.       will generate    a harmless warning about extra bytes at    the
  43.       beginning of the zipfile.  _D_e_s_p_i_t_e _t_h_i_s, however, the    self-
  44.       extracting archive is    technically _n_o_t    a valid    ZIP archive,
  45.       and PKUNZIP may be unable to test or extract it.  This
  46.       limitation is    due to the simplistic manner in    which the
  47.       archive is created; the internal directory structure is not
  48.       updated to reflect the extra bytes prepended to the original
  49.       zipfile.
  50.  
  51.      AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  52.       [_f_i_l_e(_s)]
  53.            An optional list    of archive members to be processed.
  54.            Regular expressions (wildcards) similar to those    in
  55.            Unix _e_g_r_e_p(1) may be used to match multiple members.
  56.            These wildcards may contain:
  57.  
  58.            *    matches a sequence of 0 or more characters
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                          (printed 5/6/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  71.  
  72.  
  73.  
  74.            ?    matches exactly 1 character
  75.  
  76.            [...]
  77.             matches any    single character found inside the
  78.             brackets; ranges are specified by a    beginning
  79.             character, a hyphen, and an    ending character.  If
  80.             an exclamation point or a caret (`!' or `^')
  81.             follows the    left bracket, then the range of
  82.             characters within the brackets is complemented
  83.             (that is, anything _e_x_c_e_p_t the characters inside
  84.             the    brackets is considered a match).
  85.  
  86.            (Be sure    to quote any character that might otherwise be
  87.            interpreted or modified by the operating    system,
  88.            particularly under Unix and VMS.)
  89.  
  90.       [----xxxx _x_f_i_l_e(_s)]
  91.            An optional list    of archive members to be excluded from
  92.            processing.  Since wildcard characters match directory
  93.            separators (`/'), this option may be used to exclude
  94.            any files that are in subdirectories.  For example,
  95.            ``foosfx    *.[ch] -x */*''    would extract all C source
  96.            files in    the main directory, but    none in    any
  97.            subdirectories.    Without    the ----xxxx option, all C source
  98.            files in    all directories    within the zipfile would be
  99.            extracted.
  100.  
  101.       If _u_n_z_i_p_s_f_x is compiled with SFX_EXDIR defined, the
  102.       following option is also enabled:
  103.  
  104.       [----dddd _e_x_d_i_r]
  105.            An optional directory to    which to extract files.     By
  106.            default,    all files and subdirectories are recreated in
  107.            the current directory; the ----dddd option allows extraction
  108.            in an arbitrary directory (always assuming one has
  109.            permission to write to the directory).  The option and
  110.            directory may be    concatenated without any white space
  111.            between them, but note that this    may cause normal shell
  112.            behavior    to be suppressed.  In particular, ``-d ~''
  113.            (tilde) is expanded by Unix C shells into the name of
  114.            the user's home directory, but ``-d~'' is treated as a
  115.            literal subdirectory ``~~~~'' of the current directory.
  116.  
  117.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  118.       _u_n_z_i_p_s_f_x supports the    following _u_n_z_i_p(1L) options:  ----cccc and
  119.       ----pppp (extract to standard output/screen), ----ffff and ----uuuu (freshen
  120.       and update existing files upon extraction), ----tttt (test
  121.       archive) and ----zzzz (print archive comment).  All    normal listing
  122.       options (----llll, ----vvvv and ----ZZZZ) have been removed, but the testing
  123.       option (----tttt) may be used as a ``poor man's'' listing.
  124.       Alternatively, those creating    self-extracting    archives may
  125.       wish to include a short listing in the zipfile comment.
  126.  
  127.  
  128.  
  129.      Page 2                          (printed 5/6/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  137.  
  138.  
  139.  
  140.       See _u_n_z_i_p(1L)    for a more complete description    of these
  141.       options.
  142.  
  143.      MMMMOOOODDDDIIIIFFFFIIIIEEEERRRRSSSS
  144.       _u_n_z_i_p_s_f_x currently supports all _u_n_z_i_p(1L) modifiers:    ----aaaa
  145.       (convert text    files),    ----nnnn (never overwrite), ----oooo (overwrite
  146.       without prompting), ----qqqq (operate quietly), ----CCCC (match names
  147.       case-insenstively), ----LLLL (convert uppercase-OS names to
  148.       lowercase), ----jjjj (junk paths) and ----VVVV (retain version numbers);
  149.       plus the following operating-system specific options:     ----XXXX
  150.       (restore VMS owner/protection    info), ----ssss (convert spaces in
  151.       filenames to underscores [DOS, OS/2, NT]) and    ----$$$$ (restore
  152.       volume label [DOS, OS/2, NT, Amiga]).
  153.  
  154.       (Support for regular ASCII text-conversion may be removed in
  155.       future versions, since it is simple enough for the archive's
  156.       creator to ensure that text files have the appropriate
  157.       format for the local OS.  EBCDIC conversion will of course
  158.       continue to be supported since the zipfile format implies
  159.       ASCII    storage    of text    files.)
  160.  
  161.       See _u_n_z_i_p(1L)    for a more complete description    of these
  162.       modifiers.
  163.  
  164.      EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT OOOOPPPPTTTTIIIIOOOONNNNSSSS
  165.       _u_n_z_i_p_s_f_x uses    the same environment variables as _u_n_z_i_p(1L)
  166.       does,    although this is likely    to be an issue only for    the
  167.       person creating and testing the self-extracting archive.
  168.       See _u_n_z_i_p(1L)    for details.
  169.  
  170.      DDDDEEEECCCCRRRRYYYYPPPPTTTTIIIIOOOONNNN
  171.       Decryption is    supported exactly as in    _u_n_z_i_p(1L); that    is,
  172.       interactively    with a non-echoing prompt for the password(s).
  173.       See _u_n_z_i_p(1L)    for details.  Once again, note that if the
  174.       archive has no encrypted files there is no reason to use a
  175.       version of _u_n_z_i_p_s_f_x with decryption support; that only adds
  176.       to the size of the archive.
  177.  
  178.      EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  179.       To create a self-extracting archive _l_e_t_t_e_r_s from a regular
  180.       zipfile _l_e_t_t_e_r_s._z_i_p and change the new archive's permissions
  181.       to be    world-executable under Unix:
  182.  
  183.           cat unzipsfx letters.zip > letters
  184.           chmod 755    letters
  185.           zip -A letters
  186.  
  187.       To create the    same archive under MS-DOS, OS/2    or NT (note
  188.       the use of the ////bbbb [binary] option to the _c_o_p_y    command):
  189.  
  190.           copy /b unzipsfx.exe+letters.zip letters.exe
  191.           zip -A letters.exe
  192.  
  193.  
  194.  
  195.      Page 3                          (printed 5/6/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  203.  
  204.  
  205.  
  206.       Under    VMS:
  207.  
  208.           copy unzipsfx.exe,letters.zip letters.exe
  209.           letters == "$currentdisk:[currentdir]letters.exe"
  210.           zip -A letters.exe
  211.  
  212.       (The VMS _a_p_p_e_n_d command may also be used.  The second
  213.       command installs the new program as a    ``foreign command''
  214.       capable of taking arguments.    The third line assumes that
  215.       Zip is already installed as a    foreign    command.)  Under
  216.       AmigaDOS:
  217.  
  218.           MakeSFX letters letters.zip UnZipSFX
  219.  
  220.       (MakeSFX is included with the    UnZip source distribution and
  221.       with Amiga binary distributions.  ``zip -A'' doesn't work on
  222.       Amiga    self-extracting    archives.)  To test (or    list) the
  223.       newly    created    self-extracting    archive:
  224.  
  225.           letters -t
  226.  
  227.       To test _l_e_t_t_e_r_s quietly, printing only a summary message
  228.       indicating whether the archive is OK or not:
  229.  
  230.           letters -tqq
  231.  
  232.       To extract the complete contents into    the current directory,
  233.       recreating all files and subdirectories as necessary:
  234.  
  235.           letters
  236.  
  237.       To extract all *.txt files (in Unix quote the    `*'):
  238.  
  239.           letters *.txt
  240.  
  241.       To extract everything    _e_x_c_e_p_t the *.txt files:
  242.  
  243.           letters -x *.txt
  244.  
  245.       To extract only the README file to standard output (the
  246.       screen):
  247.  
  248.           letters -c README
  249.  
  250.       To print only    the zipfile comment:
  251.  
  252.           letters -z
  253.  
  254.      LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS
  255.       The principle    and fundamental    limitation of _u_n_z_i_p_s_f_x is that
  256.       it is    not portable across architectures or operating
  257.       systems, and therefore neither are the resulting archives.
  258.  
  259.  
  260.  
  261.      Page 4                          (printed 5/6/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  269.  
  270.  
  271.  
  272.       For some architectures there is limited portability, however
  273.       (e.g., between some flavors of Intel-based Unix).
  274.  
  275.       Another problem with the current implementation is that any
  276.       archive with ``junk''    prepended to the beginning technically
  277.       is no    longer a zipfile (unless _z_i_p(1)    is used    to adjust the
  278.       zipfile offsets appropriately, as noted above).  _u_n_z_i_p(1)
  279.       takes    note of    the prepended bytes and    ignores    them since
  280.       some file-transfer protocols,    notably    MacBinary, are also
  281.       known    to prepend junk.  But PKWARE's archiver    suite may not
  282.       be able to deal with the modified archive unless its offsets
  283.       have been adjusted.
  284.  
  285.       _u_n_z_i_p_s_f_x has no knowledge of the user's PATH,    so in general
  286.       an archive must either be in the current directory when it
  287.       is invoked, or else a    full or    relative path must be given.
  288.       If a user attempts to    extract    the archive from a directory
  289.       in the PATH other than the current one, _u_n_z_i_p_s_f_x will    print
  290.       a warning to the effect, ``can't find    myself.''  This    is
  291.       always true under Unix and may be true in some cases under
  292.       MS-DOS, depending on the compiler used (Microsoft C fully
  293.       qualifies the    program    name, but other    compilers may not).
  294.       Under    OS/2 and NT there are operating-system calls available
  295.       that provide the full    path name, so the archive may be
  296.       invoked from anywhere    in the user's path.  The situation is
  297.       not known for    AmigaDOS, Atari    TOS, MacOS, etc.
  298.  
  299.       As noted above, a number of the normal _u_n_z_i_p(1L) functions
  300.       have been removed in order to    make _u_n_z_i_p_s_f_x smaller:    usage
  301.       and diagnostic info, listing functions and extraction    to
  302.       other    directories.  Also, only stored    and deflated files are
  303.       supported.  The latter limitation is mainly relevant to
  304.       those    who create SFX archives, however.
  305.  
  306.       VMS users must know how to set up self-extracting archives
  307.       as foreign commands in order to use any of _u_n_z_i_p_s_f_x's
  308.       options.  This is not    necessary for simple extraction, but
  309.       the command to do so then becomes, e.g., ``run letters'' (to
  310.       continue the examples    given above).
  311.  
  312.       _u_n_z_i_p_s_f_x on the Amiga    requires the use of a special program,
  313.       MakeSFX, in order to create working self-extracting
  314.       archives; simple concatenation does not work.     (For
  315.       technically oriented users, the attached archive is defined
  316.       as a ``debug hunk.'')     There may be compatibility problems
  317.       between the ROM levels of older Amigas and newer ones.
  318.  
  319.       All current bugs in _u_n_z_i_p(1L)    exist in _u_n_z_i_p_s_f_x as well.
  320.  
  321.      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  322.       _u_n_z_i_p_s_f_x's exit status (error    level) is identical to that of
  323.       _u_n_z_i_p(1L); see the corresponding man page.
  324.  
  325.  
  326.  
  327.      Page 5                          (printed 5/6/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))   IIIInnnnffffoooo----ZZZZIIIIPPPP ((((3333    NNNNoooovvvveeeemmmmbbbbeeeerrrr 1111999999997777 ((((vvvv5555....33332222))))))))      UUUUNNNNZZZZIIIIPPPPSSSSFFFFXXXX((((1111LLLL))))
  335.  
  336.  
  337.  
  338.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  339.       _f_u_n_z_i_p(1L), _u_n_z_i_p(1L), _z_i_p(1L), _z_i_p_c_l_o_a_k(1L),    _z_i_p_g_r_e_p(1L),
  340.       _z_i_p_i_n_f_o(1L), _z_i_p_n_o_t_e(1L), _z_i_p_s_p_l_i_t(1L)
  341.  
  342.      UUUURRRRLLLL
  343.       The Info-ZIP home page is currently at
  344.       http://www.cdrom.com/pub/infozip/ .
  345.  
  346.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  347.       Greg Roelofs was responsible for the basic modifications to
  348.       UnZip    necessary to create UnZipSFX.  See _u_n_z_i_p(1L) for the
  349.       current list of Zip-Bugs authors, or the file    CONTRIBS in
  350.       the UnZip source distribution    for the    full list of Info-ZIP
  351.       contributors.
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                          (printed 5/6/98)
  394.  
  395.  
  396.  
  397.